查看原文
其他

网络神经系统:治理互联网计算机

DFINITY 2022-07-07




通过互联网计算机结合了由世界各地独立数据中心运行的节点计算机的计算能力,托管了称为容器的单元,这些容器使开发人员可以在开放的互联网上部署可互操作的软件。


互联网计算机平台的主要功能是网络神经系统(NNS),这是一个开放的算法管理系统,可以监督网络和令牌经济学,从而可以构建DeFi和dapp、开放的互联网服务和超大规模运营的具有能力的企业系统。


互联网计算机ICP实用程序令牌的持有者可以将其令牌锁定在神经元中,以参与治理并有助于决策,例如进行投票以确定是否应将新的节点集合(也称为子网)添加到网络中。


通过参与治理,选民可以获得奖励,他们可以使用这些奖励或从交易所获得的ICP实用程序代币来推动其容器的计算。


为什么我们需要网络神经系统


互联网计算机是由托管在不同数据中心中的节点计算机网络运行的分布式协议。节点通过互联网相互通信,以就互联网计算机的状态达成共识。参与共识的节点的集合称为子网。


在此基础通信和共识协议之上,互联网计算机还托管容器,这些容器是有状态的程序,也可以彼此通信。必须在所有节点之间复制所有容器的状态。因此,为使互联网计算机无限扩展,网络不仅由一个子网组成,还由多个子网组成。


不同的子网可以相互通信,从而使托管在不同子网上的容器也可以相互通信。为了使互联网计算机按需扩展,网络必须能够随时间添加新的子网以增加计算能力。


而且,随着时间的推移,可以通过向子网添加新节点来提高子网的健壮性。最终,互联网计算机将大规模运行数百万个节点。


这意味着需要一种机制来组织、跟踪和管理节点和子网。例如,必须决定何时添加或删除子网和节点。


此外,互联网计算机正在启动时具有初始功能集,该功能集可能会随着时间的推移而发展。因此,互联网计算机需要能够决定如何以分布式方式发展协议。


进入网络神经系统。



网络神经系统概述


网络神经系统(NNS)是一个令牌化的开放式治理系统,负责管理互联网计算机。例如,它存储有关哪些节点属于哪个子网的信息,它还决定如何更新此信息。


在较高的级别上,NNS是通过一组容器实现的。为了做出决定,这些容器中的两个是关键:


1. Governance Canister,这存储两件事:


  • a. 提案,是有关应如何更改互联网计算机的建议,然后可以对这些建议进行表决;


  • b. 神经元,确定允许谁参与治理。


2. 注册表容器:它存储整个互联网计算机的配置,然后其他人可以查找。例如,它存储哪些节点属于某个子网。


通过NNS剖析决策


现在让我们逐步了解如何提出、投票和实施更改协议的想法。


假设我们有一个用户A,该用户A控制着神经元A,并提交了有关将节点N添加到子网1的提案。该提案随后将被添加到治理容器中。然后,其他也控制神经元的用户可以对该提案进行投票。


如果大多数用户赞成该提议,则将执行该提议,这意味着将更新注册表容器的内容,以反映节点N是子网1的一部分。


互联网计算机支持各种不同的提议主题,以下是最初受支持的主题的一些非详尽示例:


  • #SubnetManagement提案:该提案考虑了拓扑更改,上面有关是否应将节点添加到子网的示例建议属于此类。


  • #ExchangeRate提案:这涉及有关ICP实用程序令牌的值的实时信息,这对于确定必须将多少个令牌转换为计算周期非常重要。(有关此内容,请参见下文。)


  • #NodeAdmin提案:这涉及节点计算机的管理,提议的示例可以指定子网中的所有节点都应更新。


  • #NetworkEconomics提案:这涉及网络经济学的管理,例如:应向节点机器提供者支付哪些奖励?


通过NNS进行令牌管理


让我们看一下NNS上的容器以及它们如何更详细地工作。作为理解神经元概念的先决条件,我们现在将看看用于参与治理系统的ICP实用程序令牌。


令牌由NNS上的另一个容器分类帐容器管理,该容器存储两件事:帐户和交易。帐户记录跟踪给定的主体ID(即,用于在互联网计算机上对用户进行身份验证的身份)拥有多少令牌。


然后可以将令牌从一个帐户发送到另一个帐户,并将其记录在分类账容器的交易中。


ICP实用程序令牌可用于三种不同的用途:


  • 首先,令牌有助于参与治理(有关神经元如何与令牌连接的更多信息,请参见下文);


  • 其次,参与治理的人和通过操作节点机器提供计算能力的人都将获得代币奖励;


  • 最后,令牌用于转换为cycles,为计算和数据存储容器提供燃料。



神经元介绍


神经元包含锁定的令牌,这些令牌不能流动,不能自由转让给他人。


在其他数据中,神经元存储以下信息:


  • 首先,它跟踪与给定神经元关联的令牌数量,并通过引用分类账上的帐户来实现;


  • 其次,它指定一个主体ID,该主体ID标识一个公共密钥;


  • 最后,它还指定了唯一的神经元ID。


还有一些与神经元相关的其他参数需要注意,最重要的问题之一是可以解锁令牌的最早日期。只有那些令牌被锁定至少六个月的神经元才被允许参与治理。


这应该激励神经元持有者投票,以使他们的代币的价值在将来的某个日期最大化。


如果令牌的价值可以大致代表网络的成功,那么这将激励选民为互联网计算机的长期利益而投票。


神经元的投票权取决于多种因素,包括锁定在神经元中的令牌数量以及令牌可以解锁之前的剩余时间。


如何在神经元中锁定令牌


假设在账本容器上有一个帐户(A1)的用户B想要在神经元中锁定一百个令牌。为此,用户B向NNS发送一条命令,指定令牌的数量和用户B的相应主体ID。


然后,将一笔交易记录在分类帐上,该交易指定将某些令牌从用户的原始帐户(A1)发送到新帐户(A2),新帐户(A2)还会创建包含锁定令牌的新帐户(A2)。


在治理容器中创建了一个新的神经元,该神经元指定用户B是控制该神经元的用户,并且指定锁定令牌的数量由新的分类帐帐户A2定义。


在外部,看不到新帐户(A2)拥有锁定令牌或与原始帐户(A1)有任何关系。但是,此帐户实际上是由神经元控制的,这意味着令牌不是流动的,并且用户B无法转移令牌或将令牌转换为cycles。


控制神经元使用户可以提交提案并对其进行投票,下面将对此进行说明。



通过NNS提交提案


提案描述容器的方法,如果提案被接受,则该方法将被调用。此外,它还描述了用于调用该方法的参数。让我们考虑一个示例,在该示例中,用户C建议创建一个新的子网,该子网最初包含两个节点:节点1和节点2。


一旦用户控制了一个神经元,他们就可以通过指定其神经元ID,想要提交的提议的类型以及提议的参数来提交提议。在我们的示例中,用户C提交了一个提案,以创建一个由初始节点Node 1和Node 2组成的新子网(提案的参数)。


收到此提议后,治理容器首先检查该用户确实是控制具有给定ID的神经元的用户,并且该神经元有资格投票。如果满足要求,则将提案添加到治理容器。


当用户添加新提案时,与给定提案相关联的“是”投票数会随着提案者的投票权而增加。这反映出该提案已经得到提交该提案的用户的支持。


为了避免被无用的提案淹没,如果提案被拒绝,则提交提案的用户必须支付少量费用。


在提交提案并将其添加到治理容器之后,其他控制神经元的用户可以对其进行投票。要进行投票,用户首先会向治理容器询问待处理的提案,以了解他们可以实际投票的内容。


假设给定的用户D想要拒绝用户C刚刚添加的提案。为此,用户D将其神经元ID和“否”票发送给治理容器。


同样,治理容器将检查投票是否来自控制神经元的正确用户,并确认神经元有资格投票。如果满足条件,则治理容器会将用户C的投票权添加到“否”票中。


假设某一时刻,大多数投票权都赞成该提案。该建议将被执行,这意味着将调用所描述的方法。


在该示例中,将使用指定的参数调用为注册表容器创建子网的方法。结果是将新子网添加到注册表容器,该子网由给定的节点Node 1和Node 2组成。


在NNS上收集奖励


有助于决策是选民锁定神经元的一种动机,但他们也因参与网络治理而获得奖励。


每个神经元都跟踪其通过参与治理积累了多少奖励。为了收集奖励,用户可以将命令发送到治理容器以生成新的神经元。结果,将创建一个新的神经元,该神经元在分类账上具有一个新的关联帐户,其中包含奖励。


实际上,新令牌被铸造并转移到新帐户,该新帐户也记录在分类帐容器中。新的神经元具有较小的溶解延迟,这意味着用户只需等待很短的时间就可以解锁令牌并自由使用它们。节点机器提供商还可以通过NNS获得奖励。


在NNS上委托投票


用户可能没有时间或知识参与所有网络决策。例如,不熟悉网络拓扑的用户可能不想就是否应将节点添加到子网的建议做出决定。


对于这些情况,互联网计算机促进了流动民主。这意味着一个神经元可以指定要跟随其他神经元(所谓的跟随者),并且治理容器跟踪跟随者和跟随者神经元的关系。


如果大多数跟随者神经元以特定方式投票,则治理容器还将自动记录对跟随者神经元的相应投票。通过这种方式,跟随者神经元仍可以在没有积极参与治理的情况下获得投票奖励。神经元甚至可以根据特定的建议主题“关注”不同的神经元。


支付cycles


除了治理参与和投票奖励外,令牌还可以转换为cycles,从而促进了互联网计算机上的计算和存储。互联网计算机上的每个容器(NNS上的每个容器除外)都使用cycles进行计算,并在其中存储了一些cycles。


尽管令牌价格可能会随时间变化,但cycles的目标是使计算价格随时间大致保持一致。


考虑用户E,该用户在互联网计算机上运行一个容器,并希望对该容器的cycles进行补充,以使其可以执行更多计算。还要假设此容器当前有700万亿个cycles,并且用户E希望将此数字增加200万亿个。


为此,用户将向NNS发送命令,该命令指定为容器充值的操作。收到此命令后,将从用户帐户到cycles的铸造容器(这是NNS上的另一个容器)进行一笔交易。


交易的结果是,该cycles的铸造容器将燃烧令牌,铸造新的cycles,并将这些新铸造的cycles发送到用户的容器,这意味着该容器的余额现在为900万亿个cycles。


请继续关注更多发布,详细介绍互联网计算机背后的技术。


加入我们的开发人员社区,并在forum.dfinity.org上开始构建。


互联网计算机网络神经系统应用程序和钱包入门


互联网计算机扩展了全球网络的功能,它可以托管以Web速度运行的智能合约,而对容量没有任何限制,并将其转换为可为全球开发人员和企业家提供支持的公共计算平台。


互联网计算机平台的关键功能是网络神经系统(NNS),这是一个开放的算法管理系统,可以监督网络和令牌经济学,从而可以构建DeFi和dapp、开放的互联网服务和能以超大规模运行的企业系统。


NNS的目的是允许以开放、分散和安全的方式管理互联网计算机网络,并且可以完全控制网络的各个方面。


例如,它可以升级托管网络的节点机器所使用的协议和软件;它可以创建新的子网以增加网络容量;它可以拆分子网以划分负载;它可以配置经济参数,以控制用户必须为计算能力支付多少费用;在极端情况下,它可以保护网络免受恶意行为者的侵害;并且还履行许多其他功能。有关NNS的深入概述,请参阅“了解互联网计算机的网络神经系统、神经元和ICP实用程序令牌”。


以下是网络神经系统应用程序及其关键功能入门的快速指南,该应用程序当前使用户可以访问以下四个主要领域:


  • ICP实用程序令牌

  • 神经元

  • 投票

  • 容器


我们将解释每个部分,并提供用户使用NNS应用程序时应考虑的详细信息。


注意:要登录NNS应用程序,需要一个互联网身份。如果您没有互联网身份,则必须首先创建一个。


创建网站:https://identity.ic0.app


这只需要一分钟,请参阅官网“如何使用互联网身份服务”。


互联网身份是专门为互联网计算机设计的新的、更安全的单点登录解决方案。特别是,当使用您的互联网身份登录NNS时,您将收到特定于NNS应用程序的唯一互联网身份(也称为主体ID)。该主体ID在其他应用程序之间不共享。


访问钱包与NNS:https://nns.ic0.app



ICP实用程序令牌



上面的界面是用户的主要ICP电子钱包的示例。用户可以使用此界面来创建帐户和子帐户以及进行基本交易,例如发送或接收ICP。各个帐户地址是从您的主体ID派生的,但不同于主体ID。稍后,本部分还将支持使用特殊的硬件钱包来授权ICP交易。


用途


ICP是一种本机实用程序令牌,在网络中扮演三个关键角色:


  • 促进网络治理:ICP可以被锁定以创建通过投票参与网络治理的神经元,通过它们他们可以获得经济回报。


  • 用于计算的Cycles的生成:ICP提供了一个值的源存储,可以将其转换为“Cycles”,从而可以进行计算并在使用时进行燃烧。NNS以可变速率将ICP转换为Cycles,以确保网络用户始终可以以近似恒定的实际成本创建新的Cycles,从而可以预测Cycles的成本。


  • 奖励参与者:该网络铸造了新的ICP,以奖励和激励那些正在使网络发挥重要作用的重要角色,包括:a)向参与治理的人员提供“投票奖励”,以及b)提供“节点提供者”奖励给那些操作托管网络的节点机器的人。


传输ICP


使用一个帐户地址,大多数用户只需遵循下面“帐户”部分中进一步概述的步骤,就可以将ICP从他们选择的交易所或钱包中转移到NNS应用程序。


鼓励选择通过Keysmith进行自助托管并希望通过DFINITY Canister SDK转移ICP的用户阅读有关与DFINITY Canister SDK集成的更多信息。如果您使用的是空白计算机,请考虑将签名与发送分开的选项。


账户



帐户由其帐户地址标识,用户还可以从上级帐户派生子帐户。



交易


在NNS应用程序的ICP部分中,用户可以安排将ICP发送到其他帐户。每笔交易仅需几秒钟,便可以达成完全共识。(注意:发送ICP需要支付少量交易费用,该金额会从源帐户余额中扣除。)


要接收交易,只需将您的地址之一提供给希望与您进行交易的任何人。


最后,您还可以直接从您的帐户抵押神经元。这样做,将用特定的ICP创建神经元(当前抵押神经元的最小ICP量为1 ICP)。这也将产生少量费用。


神经元



上面的界面允许用户创建和管理神经元,以便参与网络管理并在开放式互联网的管理中发挥积极作用。用户通过在指定的时间段内“锁定”他们的ICP来创建神经元,从而使他们能够通过对提案进行投票以换取ICP奖励来参与治理。


属性


这是用户在配置其神经元时可以期望与之交互的常见属性的列表:


身份


神经元对象的一般身份。当一个神经元被配置为跟随另一个神经元时,这就是所使用的值。这是在神经元创建时选择的随机值。


帐户


ICP锁定的余额所在的分类帐帐户。


CreatedAt


创建神经元时。


成熟度


神经元的成熟度,决定了它产生新神经元的能力以及新铸造的ICP的相应锁定平衡。当创建新的神经元时,它们的成熟度为零。当神经元投票时,随着时间的流逝,NNS会增加其成熟度来奖励他们。


最近投票(公开)


保留最近投票的记录,这可以为那些希望评估是否跟随神经元或其跟随者如何投票的人提供指南。


年龄(秒)


自创建神经元或上一次停止溶解以来经过的时间。从概念上讲,每当神经元开始溶解时,其年龄就会重置为零,并在溶解时保持为零。如果溶解神经元的溶解状态处于关闭状态,则当前时间成为有效神经元创建日期,以用于计算年龄。


状态有LOCKED或DISSOLVING或DISSOLVED,根据溶解状态和当前时间计算得出:


  • 锁定:在此状态下,神经元被特定的溶解延迟锁定。它随着时间的流逝而逐渐增长,并且如果溶解延迟至少为六个月,它可以投票。


  • 溶解:在这种状态下,神经元的有效溶解延迟会随着时间的流逝而减少。溶解时,神经元的年龄被认为是零。最终它将达到DISSOLVED状态。


  • 溶出:在溶出状态下,抵押的神经元可以用来支出。它不能投票,因为其溶解延迟被认为是零。



指令


用户应熟悉以下指令,以更好地了解其神经元的操作方式:


开始溶解


溶解延迟就像一个厨房计时器,只能向一个方向旋转。可以任意增加它,但只能通过打开溶解模式并递减计数来减少它。可以指示神经元开始“溶解”。当神经元正在溶解时,其溶解延迟会随着时间的流逝而下降,直到其停止或达到零为止。


当神经元的溶解延迟低于六个月时,它将无法投票(或赢得投票奖励)。一旦溶解延迟达到零,它就会停止下降,并且控制主体可以指示神经元进行分配。


停止溶解


可以指示正在溶解的神经元停止,因此其溶解延迟随时间而下降。


支出


当神经元的溶解延迟为0时,其控制主体可以指示其支出神经元的抵押。其锁定的ICP余额被转移到指定的新分类帐帐户,并且神经元和其自己的分类帐帐户消失。


增加溶解延迟


神经元的溶解延迟最多可以增加到八年。


派生


当神经元的成熟度超过阈值时,可以指示它生成新的神经元。这将创建一个新的神经元,从而在分类账上锁定ICP的新余额。新的神经元可以保持与其父级相同的委托人的控制,也可以分配给新的委托人。当神经元产生新的神经元时,其成熟度将降为零。



溶解延迟


关于溶解延迟的说明


如果用户的神经元获得最大可能价值,则用户将受益最大。考虑锁定的神经元时,该时刻始终是将来的“溶解延迟天数”,这在神经元溶解的每一天都越来越近。


同时,如果神经元所有者投票赞成在不久的将来实现网络价值最大化的长期看法,则最好地服务于网络的长期成功。


出于这样的原因,NNS会通过向神经元分配更大的奖励来延长其溶解时间,从而激励神经元拥有者尽可能延长其溶解时间(最长可配置为八年)。


当神经元的拥有者具有长远的眼光时,由于神经元的投票在决策中更有用,因此NNS也会将更大的权重施加于来自神经元的投票上,因为它们的溶解延迟越大,并且可以防止溶解延迟少于六个月的神经元一同投票。


当然,如果可以转移锁定的余额,则该方案将给网络带来较少的好处,因为这将使神经元所有者可以随时“出售其神经元”,即使相对于未锁定的余额必须不全信也是如此。


投票



上面的界面显示了用户可以在哪里设置和配置其神经元,以及对提交给NNS的提案进行投票。


可以使用NNS应用程序启动以下操作:


投票:让神经元投票通过或拒绝具有特定ID的提案。


跟随:添加一个规则,该规则使神经元可以通过指定一组遵循多数投票的跟随者神经元来自动对属于特定主题的提案进行投票。这种遵循规则的配置可用于:


  • a)在多个实体之间分配对投票权的控制;

  • b)当其所有者缺乏时间评估新提交的提案时,将自动进行神经元投票;

  • c)当神经元所有者自身缺乏评估新提交提案的专业知识时,将自动进行神经元投票。


跟随规则指定一组跟随者。一旦大多数追随者投票赞成通过或拒绝属于指定主题的提议,神经元就会以相同的方式投票。


如果大多数追随者无法达成一致(例如,因为他们在采用和拒绝之间划分为50–50),则神经元投票拒绝。


如果在投标主题为空的情况下指定了规则,则它将成为一个包罗万象的遵循规则,它将用于对属于未指定特定规则的主题的提案进行自动投票。


如果关注者列表为空,则这将有效删除跟随规则。



跟随者设置


可以将神经元配置为通过逐个主题跟踪其他神经元来自动投票。对于任何主题,都可以指定关注者列表,并且神经元将遵循大多数关注者对属于该主题的提案的投票。


如果指定了空主题,则它将作为一个包罗万象的功能,使神经元能够在未指定规则的情况下追随跟随者的投票。


提案



提交给NNS的每个提案都有以下字段:


  • ID:提案的身份。NNS为收到的每个提案分配一个唯一的标识。


  • 摘要:提供建议书简短说明的文本,最多使用280个字节组成。


  • URL:使用指定的HTTPS、评估提案所需的其他内容的网址。例如,该地址可能描述支持将DCID(数据中心ID)分配给新数据中心的内容。


  • 提议者:提交提案的神经元的ID。提交提案时,如果被拒绝,则会在其余额上计入“费用”。因此,余额必须足够大以支付(全部)拒绝费用。我们要求神经元的溶解延迟≥6个月才能投票,这也适用于提交提案。


  • 提案类型:提案的类型。这可以推断出该主题所属的主题(例如,#NodeAdmin),将被采纳的系统功能(如果被采纳)以及将传递给该功能的参数的类型和结构。


  • 参数:如果采用提案,则将传递给系统函数的参数,该参数由提案的类型决定。提交提案后,NNS会检查参数。


主题



根据提案的类型推断出提案的主题,可以确定提案的处理方式。例如,对于某些主题,NNS可能要求选民达成更大程度的协议,或尝试更快地处理提案。同样,神经元在每个主题的基础上跟随其他神经元。


NNS中可用的一些初始主题包括:


#NeuronManagement:一个特殊的主题,跟随者可以通过该主题来管理此主题的神经元(在这种情况下,没有默认的备用方法)。关于该主题的投票不包括在神经元的投票历史中。对于有关此主题的提案,仅允许对该提案所属的神经元的该主题的关注者进行投票。由于该主题的提案的合格投票者数量受到限制,因此该主题的提案的投票期短于正常投票期。


#ExchangeRate:所有提案均提供有关ICP市值的“实时”信息,该信息由国际货币基金组织(IMF)特别提款权(SDR)衡量,该值使NNS可以将ICP转换为Cycles(提供动力进行计算)以保持其实际成本不变的速度。由于有关该主题的提案非常频繁,因此投票期较短,并且有关该主题的投票未包含在神经元的投票历史中。


#NetworkEconomics:管理网络经济学的提案-例如,确定应向节点运营商支付的奖励。


#Governance:管理治理的所有提案,例如,提议和某些参数的配置。


#NodeAdmin:以某种方式管理节点计算机的所有建议,包括但不限于升级或配置OS、升级或配置虚拟机框架以及升级或配置节点副本软件。


#ParticipantManagement:管理网络参与者的所有建议,例如,授予和吊销DCID(数据中心身份)或NOID(节点运营商身份)。


#SubnetManagement:管理网络子网的所有建议,例如,创建新子网、添加和删除子网节点以及拆分子网。


#NetworkCanisterManagement:安装和升级属于网络的“系统”容器—例如,升级NNS。


#KYC:出于监管目的而更新KYC信息的提案,例如在以神经元形式进行的ICP的最初创世发行期间。


#NodeProviderRewards:奖励节点提供者的建议的主题。


容器



上面的界面显示了用户可以在其中创建预先添加了Cycles的容器,以及将Cycles发送到现有容器,通过转换ICP令牌来创建Cycles,Cycles互联网计算机上使用的计算单位。


容器的创建



软件容器是智能合约的发展,是包括程序和状态在内的计算单元。容器与容器相似,两者都被部署为包含已编译代码和应用程序或服务依赖项的软件单元。


Cycles是在互联网计算机上执行操作的计算资源。通常,所有容器都会以以下形式消耗资源:执行CPU Cycles,用于路由消息的带宽和用于持久数据的内存。容器保持帐户余额以支付其应用程序所消耗的通信、计算和存储成本。计算成本以Cycles为单位表示。


使用NNS应用程序,用户可以创建一个新的容器或附加一个现有的容器并对其进行循环加载。新容器的控制器将是您的主体ID。


该应用程序还允许您将控制器更改为例如使用开发人员命令行工具dfx创建的主体ID,以便可以将代码上传到容器中。


将Cycles发送到容器



Cycles是支付实际运营成本的一种方式,包括物理硬件、机架空间、能源、存储设备和带宽等资源。简而言之,一个Cycle单元代表执行单个WebAssembly指令的成本。其他资源花费不同数量的Cycles。


可以将Cycles与以太坊的“gas”和AWS的“credits”进行比较,但在数据、计算和执行方面具有更广泛的用途。他们的设计还从本质上解决了技术陷阱,例如使用成本的迅速上升。


Cycles是通过将ICP转换为Cycles而获得的。每个SDR的Cycles成本固定为1万亿个Cycles,或简称为1T。sSDR(特别提款权)是由国际货币基金组织(IMF)创建的国际储备资产。


ICP/SDR的当前市场汇率通过#ExchangeRate提案输入到NNS中。例如,如果ICP和SDR之间的当前汇率为1到420,则将0.1 ICP转换为Cycles会产生42TCycles。


加入我们的开发人员社区,并在forum.dfinity.org上开始构建。



作者:DFINITY研究员Lara Schmid

翻译:Catherine



互联网身份:用户名和密码的终结

互联网计算机上的Web身份验证和身份

第一份互联网计算机更新和进度报告-进展顺利!



进DFINITY交流社群,请添加小助手微信:

comiocn




长按关注

DFINITY微信公众号

给你第一手资讯和项目信息

更可随时答疑解惑



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存